PrecSezione: Appendici SuCapitolo 5: Trasmissione dati in banda base Section 5.7: Ricevitore ottimoSegue

## 5.6Sincronizzazione dati

Come mostrato al § 5.1.1↑, il segnale dati deve essere campionato al ricevitore, con cadenza pari alla frequenza di simbolo fs, possibilmente al centro dell’intervallo di simbolo, in modo da contrastare gli effetti della limitazione di banda (vedi fig. 5.5↑); per questo motivo, occorre che il temporizzatore mostrato in fig. 5.1↑ determini gli istanti di campionamento più idonei, effettuando la sincronizzazione di simbolo [148] [148]In alternativa al recupero del sincronismo da parte del ricevitore, l’informazione di temporizzazione può essere trasmessa su di una diversa linea, come avviene nel caso di dispositivi ospitati su di uno stesso circuito stampato.; le diverse scelte per l’onda elementare g(t) discusse al § 5.2.1↑, determinano differenti gradi di “difficoltà” nel conseguimento della sincronizzazione di simbolo.
Un differente aspetto della sincronizzazione, riguarda il problema di ricostruire la struttura sintattica [149] [149]Una sintassi definisce un linguaggio, prescrivendo le regole con cui possono essere costruite sequenze di simboli noti (l’alfabeto), e l’analisi delle sequenze eseguita nei termini degli elementi definiti dalla sintassi, ne permette una interpretazione semantica. Il parallelismo linguistico porta spontaneamente ad indicare i simboli trasmessi come alfabeto, gruppi di simboli come parole, e gruppi di parole come frasi, od in alternativa, trame (frame, ovvero telaio). del segnale binario. Infatti, la sequenza di bit ottenuta al ricevitore, è spesso il risultato della serializzazione (al lato del trasmettitore) di informazioni a carattere (o parola, o word), come nel caso di un file di testo, oppure dei campioni di un segnale [150] [150]In appendice 5.9↓ è riportata la codifica in termini di sequenze binarie dei caratteri stampabili, definita dallo standard ascii; al § 6.3.1↓ si mostra la struttura della trama pcm, che trasporta i campioni di più sorgenti analogiche campionate.. Pertanto, il ricevitore deve essere in grado di delimitare, nell’ambito del flusso di bit ricevuti, le unità di parola, e di raggruppare le parole in trame.
Nel seguito, analizziamo le esigenze e le soluzioni di sincronizzazione che emergono nell’ambito di due diverse tecniche di trasmissione, indicate come asincrona e sincrona, che si differenziano per il fatto che mentre nella prima le parole sono separate tra loro, nella seconda fluiscono senza interruzione.

### 5.6.1Trasmissione asincrona↓

Viene adottata, ad esempio, nel caso di un terminale stupido [151] [151]Un dumb terminal non ha capacità di calcolo, e provvede solo alla visualizzazione di informazioni testuali. Fino agli anni ’70, è stato l’unico meccanismo di interazione (comunque migliore delle schede perforate !!!) con un computer. collegato ad un computer centrale: la trasmissione in questo caso avviene in modo discontinuo, ossia quando l’operatore digita sui tasti del terminale, e per questo la modalità di trasmissione è indicata come asincrona. In tal caso, la linea di comunicazione permane abitualmente in uno stato di libero (idle), contraddistinta da uno stato di tensione positiva, indicato anche come stato mark [152] [152]In tal caso la linea “.. is marking time” (sta marcando il tempo)..
Quando è pronto un carattere da trasmettere, il segnale viene portato nello stato zero (detto space) per la durata di 1 simbolo, che prende il nome di bit di start↓: la transizione in discesa viene rilevata dal ricevitore, che si predispone a contare un numero fisso di simboli (7 in figura) basandosi su di un suo orologio indipendente.
Segue poi un bit di parità↓ (se prevista, vedi § 5.4.2.1↑ per la sua definizione) ed uno o due di stop (realizzato con mark), presenti per assicurare una durata minima dello stato di idle, prima della trasmissione del carattere successivo.
Il vantaggio di una simile modalità operativa è che il ricevitore non ha bisogno di generare con estrema esattezza la temporizzazione del segnale entrante; si basa infatti su di un proprio orologio locale, di precisione non elevata [153] [153]Ovviamente, occorre stabilire un accordo a priori a riguardo la velocità, sia pure approssimata, della trasmissione., che viene risvegliato in corrispondenza del bit di start. Tale semplicità operativa produce una inefficienza, in quanto oltre ai dati ed al bit di parità, si introduce anche lo start e lo stop, utili solo ai fini della sincronizzazione ma privi di contenuto informativo.
In fig. 5.40↓
Figura 5.40  Trasmissione asincrona
è mostrato uno schema di funzionamento per trasmettitore e ricevitore, che mostra come le parole entrino in modo parallelo nel trasmettitore, che produce un segnale dati in forma seriale a velocità fs pari al clock `TxClock` di trasmissione, con un bit di start, la parola dal less al most significant bit, e quindi due bit di stop.
Sincronizzazione di bit e di parola↓
Il ricevitore dispone di un orologio interno operante ad un ritmo (`RxClock`) multiplo di quello di trasmissione `TxC`, che incrementa un contatore modulo N, il quale quindi divide l’orologio per N, e che quando si azzera determina il processo di decisione per un bit, il suo caricamento nel registro di ricezione, e lo scorrimento in basso dei contenuti dello stesso. Alla ricezione del bit di start, il contatore è inizializzato con il valore N⁄ 2, in modo che il suo azzeramento avvenga a metà del periodo di bit. A seguito dell’azzeramento, il contatore torna a dividere `RxC` per N, ed i suoi successivi azzeramenti avvengono sempre a metà del periodo di bit, fino alla ricezione di una intera parola. Al suo termine (segnalato dall’arrivo in prima posizione del bit di start a zero), il registro di ricezione è letto in modo parallelo, recuperando una intera parola.
Sincronizzazione di trama↓
I caratteri trasmessi possono far parte di messaggi più estesi, come ad esempio i paragrafi di un file di testo. Per questo motivo, può essere necessario inserire dei caratteri speciali tra quelli trasmessi, con lo scopo di delimitare i gruppi di caratteri che appartengono ad uno stesso messaggio. Se le diverse parole da trasmettere non sono tutte quelle possibili in base alla lunghezza di parola adottata [154] [154]Una parola di M bit descrive uno spazio di 2M diversi elementi. Se le parole trasmissibili non sono tutte le 2M possibili, alcune di queste (che non compariranno mai all’interno del messaggio) possono essere usate per la sua delimitazione., la delimitazione può essere attuata mediante l’uso di caratteri speciali (di controllo) che non compaiono nel messaggio, come ad esempio i caratteri stx (Start of Text) e etx (End of Text) dell’insieme ascii (pag. 1↓), come mostrato nella figura precedente.
Se invece le parole trasmissibili sono qualsiasi, come nel caso della trasmissione di campioni di segnale, allora il carattere speciale etx potrebbe essere simulato dai dati trasmessi [155] [155]Cioè, i dati trasmessi, che ora riempiono tutto lo spazio delle configurazioni possibili, contengono al loro interno la configurazione che è propria del carattere etx., causando un troncamento prematuro del messaggio. In tal caso, sia stx che etx vengono fatti precedere da un terzo carattere speciale, il dle (Data Link Escape). Il trasmettitore, dopo aver inserito la coppia dle-stx iniziale, ispeziona ogni carattere da inviare, e se questo simula un dle, inserisce un secondo dle, attuando una procedura detta character (o byte) stuffing. Il ricevitore a sua volta, per ogni dle ricevuto, controlla se la parola successiva è un etx, nel qual caso considera terminata la trasmissione; altrimenti, controlla se è un secondo dle, che è stato inserito dal trasmettitore, e lo rimuove. Altri casi non sono possibili, e se si verificano, rivelano la presenza di un errore di trasmissione.

### 5.6.2Trasmissione sincrona↓

La trasmissione dei bit di start e di stop necessaria per effettuare una trasmissione asincrona è fonte di inefficienza, e per questo a velocità più elevate si preferisce non inframmezzare i dati da trasmettere con delimitatori aggiuntivi. Ciò comporta l’esigenza di adottare in ricezione soluzioni apposite per individuare gli istanti di decisione corretti, e quindi conseguire il sincronismo di simbolo. Il sincronismo di parola si basa in generale sull’uso di parole di lunghezza costante, mentre quello di trama prevede due possibili soluzioni, l’una orientata al carattere, e l’altra al bit.
Sincronizzazione di simbolo↓
La figura 5.42↓-a mostra uno schema idoneo ad estrarre la temporizzazione `RxC` dal segnale ricevuto, basata sull’uso di un circuito dpll↓ (Digital Phase Lock Loop), il cui funzionamento richiede la presenza di transizioni nel segnale ricevuto. Analogamente allo schema già analizzato nel caso di trasmissione asincrona, un orologio locale opera ad una frequenza N volte più elevata di quella nominale, e il dpll (fig. 5.42↓-b) ne divide l’orologio per N, fornendo il segnale `RxC` necessario al decisore per individuare gli istanti posti al centro di un intervallo di simbolo. La divisione per N è realizzata all’interno del dpll mediante un contatore all’indietro, che al suo azzeramento produce il segnale `RxC` di sincronismo, ed è ri-caricato con la costante N. Nel caso in cui si verifichi uno slittamento di fase tra il segnale ricevuto e l’orologio locale, questo può essere rilevato osservando che la transizione (quando presente) nel segnale non ricorre nella posizione presunta, ossia a metà del conteggio, ma in anticipo od in ritardo (fig. 5.42↓-c). In tal caso, il contatore che realizza la divisione viene inizializzato con un numero rispettivamente minore o maggiore di N, in modo che il successivo impulso di sincronismo `RxC` risulti spostato verso il centro del periodo di simbolo [156] [156]In termini generali, questo circuito è assimilabile ad un circuito di controllo, in quanto il suo principio di funzionamento si basa sul tentativo di azzerare una grandezza di errore. Infatti, la sincronizzazione dell’orologio del decisore di ricezione con il periodo di simbolo del segnale ricevuto, avviene effettuando un confronto tra la velocità dell’orologio locale ed un ritmo presente nel segnale in arrivo: questo segnale di errore alimenta quindi un circuito di controreazione, che mantiene il clock locale al passo con quello dei dati in arrivo. Un caso particolare di questo stesso principio è analizzato ai § 11.2.1.2↓ e 11.3.1.1↓ a proposito del pll..
Figura 5.42  Funzionamento del DPLL: (a) schema circuitale; (b) condizioni di sincronismo; (c) correzione di fase
Nel caso di una differenza di velocità tra l’orologio di ricezione ed il ritmo di segnalazione, le correzioni avvengono di rado, e sono di entità ridotta. Al contrario, all’inizio di una trasmissione la differenza di fase può essere qualsiasi: per questo motivo, prima dei dati veri e propri, viene trasmessa una sequenza trailer, allo scopo di permettere appunto l’acquisizione del sincronismo di simbolo. La durata del trailer dipende dalla velocità di convergenza della procedura, per accelerare la quale sono imposte correzioni di maggiori entità in corrispondenza di errori di fase più elevati.
Trasmissione orientata al carattere
La trasmissione orientata al carattere è usata principalmente nel caso di contenuti testuali, come per i file ascii. In assenza dei bit di start e di stop, la sincronizzazione di carattere è ottenuta per mezzo della trasmissione, prima dei dati veri e propri, di una sequenza di caratteri syn↓ (Synchronous Idle), che permettono sia di conseguire (o mantenere) il sincronismo di bit, che di consentire l’inviduazione dei confini di carattere, e quindi il sincronismo di carattere↓.
La figura a fianco mostra (a) che la sincronizzazione di trama è ottenuta come per il caso asincrono, racchiudendo il blocco da trasmettere entro una coppia di caratteri stx-etx. Una volta che il ricevitore ha conseguito il sincronismo di bit, passa in una modalità di ricerca, verificando (b) se l’allineamento di 8 bit consecutivi corrisponde al carattere syn, ed in caso negativo, ripete il tentativo bit a bit.
Una volta individuato il syn, il ricevitore ha conseguito l’allineamento sul carattere, ed inizia ad aspettare il carattere stx, che indica l’inizio della trama, la quale è terminata da un etx. Nel caso in cui la trasmissione contenga caratteri qualunque, e dunque l’etx posssa essere simulato dai dati, si ricorre alla stessa soluzione del caso asincrono, e cioè sia l’stx che l’etx vengono fatti precedere da un dle, ed all’interno dei dati si esegue il byte stuffing, sostituendo gli eventuali dle simulati con una coppia di dle.
Trasmissione orientata al bit↓
Questa tecnica viene preferita sia nel caso in cui i dati da trasmettere non siano organizzati in caratteri, sia per ridurre l’inefficienza legata all’uso di caratteri di controllo aggiuntivi, nonché per evitare la dipendenza da quei particolari caratteri. Nella trasmissione orientata al bit, la sincronizzazione di bit e di trama non impiega i caratteri syn e stx, bensì degli idle bytes 01111111 nei periodi di inattività, e dei flag byte↓ 01111110 per indicare sia l’inizio che la fine di una trama.
La figura che segue mostra in (a) un esempio di trama, ed in (b) la soluzione del bit stuffing↓, necessaria ad evitare che il flag byte possa essere simulato dal con-
tenuto della trasmissione. Ora i dati trasmessi non devono essere necessariamente in numero multiplo della lunghezza di carattere, ed ogni qualvolta sono presenti 5 bit pari ad uno consecutivi, il trasmettitore inserisce forzatamente un bit pari a zero. In tal modo, quando il ricevitore osserva un bit pari a 0 preceduto da 5 bit pari ad uno consecutivi, lo rimuove, conseguendo così la trasparenza dai dati, e permettendo il corretto rilevamento del flag byte di fine trama. Ovviamente, la procedura di bit stuffing/destuffing è applicata solamente al contenuto della trama.
PrecSezione: Appendici SuCapitolo 5: Trasmissione dati in banda base Section 5.7: Ricevitore ottimoSegue